﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AvaProvi
{
    class clsInfraestructura_CD
    {
        private dsInmoviliario dsInmoviliario;
        private dsInmoviliarioTableAdapters.InfraestructuraTableAdapter TAInfraestructura;

        public clsInfraestructura_CD()
        {
            dsInmoviliario = new dsInmoviliario();
            dsInmoviliario.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
            dsInmoviliario.DataSetName = "dsInmoviliario";

            TAInfraestructura = new AvaProvi.dsInmoviliarioTableAdapters.InfraestructuraTableAdapter();
            TAInfraestructura.ClearBeforeFill = true;
            //Falta la cadena de conexion
        }

        public dsInmoviliario.InfraestructuraRow RecuperaInfraestructura(int Avaluo)
        {
            TAInfraestructura.RecuperaInfraestructura(dsInmoviliario.Infraestructura, Avaluo);
            foreach (dsInmoviliario.InfraestructuraRow filaInfraestructura in dsInmoviliario.Infraestructura)
            {
                return filaInfraestructura;
            }
            return null;
        }

        public bool CreaInfraestructura(clsInfraestructura_CRN objInfraestructura)
        {
            int RegistrosAfectados = TAInfraestructura.NuevaInfraestructura(
                objInfraestructura.Inmueble.Avaluo.IdAvaluo,
                objInfraestructura.AguaPotable,
                objInfraestructura.DrenajeConexion,
                objInfraestructura.ElectrificacionConexion,
                objInfraestructura.TipoElectrificacion,
                objInfraestructura.AlumbradoPublico,
                objInfraestructura.Guarniciones,
                objInfraestructura.BanquetasTipo,
                objInfraestructura.BanquetasEstado,
                objInfraestructura.VialidadesAcceso,
                objInfraestructura.EstadoPavimentacion,
                objInfraestructura.TipoPavimentacion,
                objInfraestructura.TipoTelefono,
                objInfraestructura.ConexionTelefono,
                objInfraestructura.Basura,
                objInfraestructura.Vigilacia,
                objInfraestructura.GasNatural,
                objInfraestructura.EstadoSenializacion,
                objInfraestructura.TipoSenializacion,
                objInfraestructura.TipoTransporte,
                objInfraestructura.Frecuencia,
                objInfraestructura.Distancia);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool ModificaInfraestructura(clsInfraestructura_CRN objInfraestructura)
        {
            int RegistrosAfectados = TAInfraestructura.ActualizaInfraestructura(
                objInfraestructura.AguaPotable,
                objInfraestructura.DrenajeConexion,
                objInfraestructura.ElectrificacionConexion,
                objInfraestructura.TipoElectrificacion,
                objInfraestructura.AlumbradoPublico,
                objInfraestructura.Guarniciones,
                objInfraestructura.BanquetasTipo,
                objInfraestructura.BanquetasEstado,
                objInfraestructura.VialidadesAcceso,
                objInfraestructura.EstadoPavimentacion,
                objInfraestructura.TipoPavimentacion,
                objInfraestructura.TipoTelefono,
                objInfraestructura.ConexionTelefono,
                objInfraestructura.Basura,
                objInfraestructura.Vigilacia,
                objInfraestructura.GasNatural,
                objInfraestructura.EstadoSenializacion,
                objInfraestructura.TipoSenializacion,
                objInfraestructura.TipoTransporte,
                objInfraestructura.Frecuencia,
                objInfraestructura.Distancia,
                objInfraestructura.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool EliminaInfraestructura(clsInfraestructura_CRN objInfraestructura)
        {
            int RegistrosAfectados = TAInfraestructura.EliminaInfraestructura(
                objInfraestructura.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }
    }
}
